package br.unesp.demac.bcc.soo.clarus.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Obra {

    private int idObra;
    private String nomeObra;
    private int anoPublicacao;
    private Date dataInclusao;
    private boolean flagExcluido;
    private Localizacao localizacao = new br.unesp.demac.bcc.soo.clarus.bean.Localizacao();
    private Editora editora = new br.unesp.demac.bcc.soo.clarus.bean.Editora();
    private List<Autor> autor = new ArrayList<Autor>();
    private List<Emprestimo> emprestimo = new ArrayList<Emprestimo>();
    private String coverUrl;

    public String autoresToString() {
        String autores = "";
        for (Autor a : this.autor) {
            autores += a.getNomeAutor() + ", ";
        }
        autores = autores.substring(0, autores.length() - 2);
        return autores;
    }


    public int getIdObra() {
        return idObra;
    }

    public void setIdObra(int idObra) {
        this.idObra = idObra;
    }
    
    public String getNomeObra() {
        return nomeObra;
    }

    public void setNomeObra(String nomeObra) {
        this.nomeObra = nomeObra;
    }

    public int getAnoPublicacao() {
        return anoPublicacao;
    }

    public void setAnoPublicacao(int anoPublicacao) {
        this.anoPublicacao = anoPublicacao;
    }

    public Date getDataInclusao() {
        return dataInclusao;
    }

    public void setDataInclusao(Date dataInclusao) {
        this.dataInclusao = dataInclusao;
    }

    public boolean isFlagExcluido() {
        return flagExcluido;
    }

    public void setFlagExcluido(boolean flagExcluido) {
        this.flagExcluido = flagExcluido;
    }

    public Localizacao getLocalizacao() {
        return localizacao;
    }

    public void setLocalizacao(Localizacao localizacao) {
        this.localizacao = localizacao;
    }

    public Editora getEditora() {
        return editora;
    }

    public void setEditora(Editora editora) {
        this.editora = editora;
    }

    public List<Emprestimo> getEmprestimo() {
        return emprestimo;
    }

    public void setEmprestimo(List<Emprestimo> emprestimo) {
        this.emprestimo = emprestimo;
    }

    public List<Autor> getAutor() {
        return autor;
    }

    public void setAutor(List<Autor> autor) {
        this.autor = autor;
    }

    public String getCoverUrl() {
        return coverUrl;
    }

    public void setCoverUrl(String coverUrl) {
        this.coverUrl = coverUrl;
    }
    
    @Override
    public String toString(){
        return this.nomeObra +"-" + autoresToString();
    }    
}
